package co.edu.uniquindio.sicorrespondencia.ejb;

import java.util.List;

import javax.ejb.Remove;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;

import co.edu.uniquindio.sicorrespondencia.entities.Empresa;
import co.edu.uniquindio.sicorrespondencia.entities.Estudiante;
import co.edu.uniquindio.sicorrespondencia.entities.Municipio;
import co.edu.uniquindio.sicorrespondencia.interfaz.IEstudianteLocal;

@Stateless
@Name("estudianteBean")
@Scope(ScopeType.CONVERSATION)
public class EstudianteBean implements IEstudianteLocal {

	@In
	private EntityManager entityManager;
	
	@Out
	@In(create=true)
	private Estudiante estudiante;
	
	@Out
	@In(create=true)
	private Empresa empresa;
	
	@Out
	private List<Estudiante> pasantesPorEmpresa;
	
	public Boolean insertar() {
		try {
			entityManager.persist(estudiante);
			return Boolean.TRUE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}
	
	@Remove
	public void remove(){
		
	} 
	
	public Boolean actualizar() {
		try {
			entityManager.merge(estudiante);
			return Boolean.TRUE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}

	public Boolean eliminar() {
		try {
			entityManager.remove(estudiante);
			return Boolean.TRUE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}

	@SuppressWarnings("unchecked")
	public List<Estudiante> buscarPasantesPorEmpresa() {
		if(empresa!=null){
			pasantesPorEmpresa = entityManager.createNamedQuery("pasantesPorEmpresa")
				.setParameter("empresa", empresa).getResultList();
		}
		return pasantesPorEmpresa;
	}


	

	

	
}
